import {ref,computed} from 'vue'
import { defineStore } from 'pinia'

/**
 * 使用 Pinia 创建一个计数器状态管理存储
 * 这个存储包含了计数的基本功能，包括获取当前值、获取双倍值以及增加计数值的方法
 */
export const useCounterStore = defineStore('counter', () => {
  // 使用 ref 创建一个响应式的计数器状态，初始值为 0
  const count = ref(0)
  // 使用 computed 创建一个计算属性，返回当前计数的双倍值
  const doubleCount = computed(() => count.value * 2)
  // 定义一个增加计数的方法，每次调用会将计数值加 1
  function increment() {
    count.value++
  }
  // 返回存储中需要暴露的状态和方法，这样组件才能访问和使用它们
  return { count, doubleCount, increment }
})